package vip.xiaonuo.biz.modular.nccAi.util.nccReq;

import lombok.Data;

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.List;

/**
 * ClassName:GatheringBillAddParam
 * Description:
 *
 * @Author:薛守立
 * @CreateTime:2025/6/9 10:31
 */
@Data
public class GatherBillAddParam {
    public GatherBillAddParam(String userCode, String dateTime) {
        // 获取当前日期
        if(dateTime != null) {
            this.billdate = dateTime;
        }else{
            LocalDate now = LocalDate.now();
            DateTimeFormatter targetFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd");
            this.billdate = now.format(targetFormat);
        }

    }
    // Y	财务组织编码
    String pk_org = "10204";
    // Y	交易类型编码
    String pk_tradetype = "F2-Cxx-01";
    // N	期初标记
    String isinit = "N";
    // Y	制单日期
    String billdate;
    //	N	起算日期
    String busidate;
    //	Y	往来对象0-客户 2-部门 3-业务员
    String objtype = "0";
    //	N	客户编码
    String customer;
    //	N	部门编码
    String pk_dept="1001A51000000005IJCA";
    //	N	业务员编码
    String pk_psndoc ="1001A1100000004PU38S";
    //	Y	币种编码
    String pk_currtype = "1002Z0100000000001K1";
    //	N	业务流程编码
    String pk_busitype = "0001A31000000002SY2N";
    //	N	付款银行账户编码
    String ar_payaccount;
    //	N	收款银行账户编码
    String ar_recaccount;
    //	N	现金银行账户编码
    String cashaccount;
    //	Y	原币金额
    String money;
    // 	Y	组织本币汇率
    String rate = "1";
    //	Y	组织本币金额
    String local_money;
    //	Y	组织本币金额
    String grouprate = "0";
    //	Y	集团本币金额
    String grouplocal= "0";
    //	Y	全局本币汇率
    String globalrate = "0";
    //	Y	全局本币金额
    String globallocal= "0";
    //	Y	附件张数
    String accessorynum;
    //	N	结算财务组织编码
    String sett_org = "0001A51000000001VJ5V";
    //	N	利润中心编码
    String pk_pcorg;
    //	N	业务组织编码（id不行）
    String pu_org= "10204";
    //	N	业务部门编码（id不行）
    String pu_deptid ="05";
    //	N	业务人员编码
    String pu_psndoc ="1001A1100000004PU38S";
    //	N	制单人编码（id 不行 ）
    String billmaker ="004374";
    //	N	单据状态
    String billstatus;
    //	N	审核状态
    String approvestatus;
    //	N	生效状态
    String effectstatus;
    //	N	审核人编码
    String approver;
    //	N	审核日期
    String approvedate;
    //	N	单据确认人编码
    String confirmuser;
    //	N	生效日期
    String effectdate;
    //	N	正式打印人编码
    String officialprintuser;
    //	N	正式打印日期
    String officialprintdate;
    //	N	单据来源系统编码
    String src_syscode;
    //	N	明细列表
    List<GatherBillItemParam> items;

    // 上层单据主键  合同主表ID
    String  top_billid;
    // 上层单据行主键 合同明细ID
    String  top_itemid;
    // 上层单据类型 FCT1 付款/FCT2 收款
    String  top_billtype="FCT2";
    // 上层交易类型 FCT1-01 付款/FCT2-01 收款
    String  top_tradetype="FCT2-01";
    // 源头单据类型 FCT1 付款/FCT2 收款
    String  src_billtype="FCT2";
    // 成源头交易类型 FCT1-01 付款/FCT2-01 收款
    String  src_tradetype="FCT2-01";
    // 源头单据主键 合同主表ID
    String  src_billid;
    // 源头单据行主键 合同明细ID
    String  src_itemid;

    String def30="1001A810000000034IJ6";

    // N
    String customer_name;
    //
    String customer_code;
}
